package com.evl.api.trainOrder.service;

import java.util.List;

import org.springframework.web.bind.annotation.RequestBody;

import com.evl.api.trainOrder.vo.TrainOrderCreateRQ;
import com.evl.api.trainOrder.vo.TrainOrderSearchRQ;
import com.evl.api.trainOrder.vo.TrainOrderSearchRS;
import com.evl.api.trainOrder.vo.TrainTicketSearchRQ;
import com.evl.common.persistence.model.TrainOrder;
import com.evl.core.vo.BaseResultVo;

import io.swagger.annotations.ApiParam;


public interface IApiTrainOrderService {
	
	/**
	 * 完成下单
	 */
	public TrainOrder trainOrder(TrainOrderCreateRQ rq) throws Exception;
	
	/**
	 * 取消订单
	 * @param paramVo
	 * @return
	 */
	public BaseResultVo invailOrder(String orderId);

	
	/**
	 * 查询订单信息
	 * @return
	 */
	public List<TrainOrderSearchRS> searchTrainOrder(TrainOrderSearchRQ rq);
	
	/**
	 * 退票申请
	 * @param paramVo
	 * @return
	 */
	public BaseResultVo refundTicketApply(TrainTicketSearchRQ paramVo);

	/**
	 * 退票
	 * @param paramVo
	 * @return
	 */
	public BaseResultVo refundTicket(String ticketId);
	
	/**
	 * 查询退票信息
	 * @param rq
	 * @return
	 */
	public BaseResultVo searchOrderTicket(TrainOrderSearchRQ rq);
	
}
